6f947b7a3e5c935500c949cc5648f7a6a0e94288,rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/WrapperHelperCompiler.java,WrapperHelperCompiler,addCreateWrapperObject,#String#Class#,215

Before Change


                } else {
                    mv.visitTypeInsn(Opcodes.CHECKCAST, periodToSlashes(tp.getName()));
                }
                mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL,
                                   periodToSlashes(wrapperType.getName()),
                                   setMethods[x].getName(), "(" + getClassCode(tp) + ")V");
            }
        }
        

After Change


                    mv.visitJumpInsn(Opcodes.IFNULL, l45);
                    mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, NONPRIMITIVE_MAP.get(tp), 
                                       tp.getName() + "Value", "()" + PRIMITIVE_MAP.get(tp));
                    mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL,
                                       periodToSlashes(wrapperType.getName()),
                                       setMethods[x].getName(), "(" + getClassCode(tp) + ")V");
                    mv.visitJumpInsn(Opcodes.GOTO, l46);
                    mv.visitLabel(l45);
                    mv.visitInsn(Opcodes.POP);
                    mv.visitLabel(l46);
                } else if (JAXBElement.class.isAssignableFrom(tp)) {
                    mv.visitTypeInsn(Opcodes.CHECKCAST,
                                     periodToSlashes(jaxbMethods[x].getParameterTypes()[0].getName()));
                    mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, periodToSlashes(objectFactoryClass.getName()),
                                       jaxbMethods[x].getName(),
                                       getMethodSignature(jaxbMethods[x]));
                    mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL,
                                       periodToSlashes(wrapperType.getName()),
                                       setMethods[x].getName(), "(" + getClassCode(tp) + ")V");
                } else if (tp.isArray()) { 
                    mv.visitTypeInsn(Opcodes.CHECKCAST, getClassCode(tp));
                    mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL,